home *** CD-ROM | disk | FTP | other *** search
- /*************************************************************************/
- /* */
- /* Includes */
- /* */
- /*************************************************************************/
- #include "resistor_Includes.h"
- #include "resistor.h"
-
- /*************************************************************************/
- /* */
- /* Variables and Structures */
- /* */
- /*************************************************************************/
- extern struct IntuitionBase *IntuitionBase;
- extern struct GfxBase *GfxBase;
-
- extern struct UtilityBase *UtilityBase;
-
- extern struct Library *GadToolsBase ;
- extern struct Library *AslBase ;
- extern struct Library *DataTypesBase;
-
- extern char werte[13][7];
- extern int ringvalue[];
- extern int faktor;
-
- /*************************************************************************/
- /* */
- /* Defines */
- /* */
- /*************************************************************************/
- #define GADGET_DOWN 0
- #define GADGET_UP 1
- #define RASTERX (((struct GfxBase *)GfxBase)->DefaultFont->tf_XSize)
- #define RASTERY (((struct GfxBase *)GfxBase)->DefaultFont->tf_YSize/2+4)
-
- #define XSIZE(x) ((x)*RASTERX)
- #define YSIZE(x) ((x)*RASTERY)
-
- #define XPOS(x) (XSIZE(x)+customscreen->WBorLeft)
- #define YPOS(x) (YSIZE(x)+customscreen->BarHeight+1)
-
- /*************************************************************************/
- /* */
- /* WindowStructures */
- /* */
- /*************************************************************************/
- ///Window
- struct WindowData
- {
- BOOL gd_Disabled_IN_Wert;
- ULONG gd_Number_IN_Wert;
- BOOL gd_Disabled_CY_Bereich;
- UWORD gd_Active_CY_Bereich;
- char * *gd_Labels_CY_Bereich;
- BOOL gd_Disabled_CY_Toleranz;
- UWORD gd_Active_CY_Toleranz;
- char * *gd_Labels_CY_Toleranz;
- BOOL gd_Disabled_BT_schwarz_w;
- BOOL gd_Disabled_BT_braun_w;
- BOOL gd_Disabled_BT_rot_w;
- BOOL gd_Disabled_BT_orange_w;
- BOOL gd_Disabled_BT_gelb_w;
- BOOL gd_Disabled_BT_gruen_w;
- BOOL gd_Disabled_BT_blau_w;
- BOOL gd_Disabled_BT_violett_w;
- BOOL gd_Disabled_BT_grau_w;
- BOOL gd_Disabled_BT_weiss_w;
- BOOL gd_Disabled_BT_silber_w;
- BOOL gd_Disabled_BT_gold_w;
- BOOL gd_Disabled_BT_silber_t;
- BOOL gd_Disabled_BT_gold_t;
- BOOL gd_Disabled_BT_braun_t;
- BOOL gd_Disabled_BT_rot_t;
- BOOL gd_Disabled_BT_gruen_t;
- BOOL gd_Disabled_BT_blau_t;
- BOOL gd_Disabled_BT_violett_t;
- BOOL gd_Disabled_BT_neu;
- BOOL gd_Disabled_BT_Quit;
- BOOL gd_Disabled_TX_wert;
- char gd_Text_TX_wert[256];
- BOOL gd_Disabled_TX_Toleranz;
- char gd_Text_TX_Toleranz[256];
- BOOL gd_Disabled_TX_schwarz_w;
- char gd_Text_TX_schwarz_w[256];
- BOOL gd_Disabled_TX_braun_w;
- char gd_Text_TX_braun_w[256];
- BOOL gd_Disabled_TX_rot_w;
- char gd_Text_TX_rot_w[256];
- BOOL gd_Disabled_TX_orange_w;
- char gd_Text_TX_orange_w[256];
- BOOL gd_Disabled_TX_gelb_w;
- char gd_Text_TX_gelb_w[256];
- BOOL gd_Disabled_TX_gruen_w;
- char gd_Text_TX_gruen_w[256];
- BOOL gd_Disabled_TX_blau_w;
- char gd_Text_TX_blau_w[256];
- BOOL gd_Disabled_TX_violett_w;
- char gd_Text_TX_violett_w[256];
- BOOL gd_Disabled_TX_grau_w;
- char gd_Text_TX_grau_w[256];
- BOOL gd_Disabled_TX_weiss_w;
- char gd_Text_TX_weiss_w[256];
- BOOL gd_Disabled_TX_silber_w;
- char gd_Text_TX_silber_w[256];
- BOOL gd_Disabled_TX_gold_w;
- char gd_Text_TX_gold_w[256];
- BOOL gd_Disabled_TX_silber_t;
- char gd_Text_TX_silber_t[256];
- BOOL gd_Disabled_TX_gold_t;
- char gd_Text_TX_gold_t[256];
- BOOL gd_Disabled_TX_braun_t;
- char gd_Text_TX_braun_t[256];
- BOOL gd_Disabled_TX_rot_t;
- char gd_Text_TX_rot_t[256];
- BOOL gd_Disabled_TX_gruen_t;
- char gd_Text_TX_gruen_t[256];
- BOOL gd_Disabled_TX_blau_t;
- char gd_Text_TX_blau_t[256];
- BOOL gd_Disabled_TX_violett_t;
- char gd_Text_TX_violett_t[256];
- BOOL gd_Disabled_TX1Ring;
- char gd_Text_TX1Ring[256];
- BOOL gd_Disabled_TX2Ring;
- char gd_Text_TX2Ring[256];
- BOOL gd_Disabled_TX3Ring;
- char gd_Text_TX3Ring[256];
- BOOL gd_Disabled_TX4Ring;
- char gd_Text_TX4Ring[256];
- };
-
- ///
- /*************************************************************************/
- /* */
- /* Routines to handle gadgets */
- /* */
- /*************************************************************************/
- ///Window
- int HandleGadgetsWindow(struct Window *win,struct Gadget *wingads[],ULONG gadgetid,ULONG messagecode,struct WindowData *gadgetdata,int ringnr)
- {
- switch(gadgetid)
- {
- case INID_Wert:
- ringnr = INWertClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case CYID_Bereich:
- ringnr = CYBereichClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case CYID_Toleranz:
- ringnr = CYToleranzClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_schwarz_w:
- if (ringnr < 4) ringnr = BTschwarz_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_braun_w:
- if (ringnr < 4) ringnr = BTbraun_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_rot_w:
- if (ringnr < 4) ringnr = BTrot_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_orange_w:
- if (ringnr < 4) ringnr = BTorange_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_gelb_w:
- if (ringnr < 4) ringnr = BTgelb_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_gruen_w:
- if (ringnr < 4) ringnr = BTgruen_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_blau_w:
- if (ringnr < 4) ringnr = BTblau_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_violett_w:
- if (ringnr < 4) ringnr = BTviolett_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_grau_w:
- if (ringnr < 4) ringnr = BTgrau_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_weiss_w:
- if (ringnr < 4) ringnr = BTweiss_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_silber_w:
- if (ringnr < 4) ringnr = BTsilber_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_gold_w:
- if (ringnr < 4) ringnr = BTgold_wClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_silber_t:
- ringnr = BTsilber_tClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_gold_t:
- ringnr = BTgold_tClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_braun_t:
- ringnr = BTbraun_tClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_rot_t:
- ringnr = BTrot_tClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_gruen_t:
- ringnr = BTgruen_tClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_blau_t:
- ringnr = BTblau_tClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_violett_t:
- ringnr = BTviolett_tClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_neu:
- ringnr = BTneuClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- case BTID_Quit:
- ringnr = BTQuitClicked(win,wingads,gadgetid,messagecode,ringnr);
- break;
- };
- return ringnr;
- }
-
- ///
- /*************************************************************************/
- /* */
- /* Routines to create gadgets */
- /* */
- /*************************************************************************/
- ///Window
- struct Gadget *CreateGadgetsWindow(struct Gadget **gadgetlist,struct NewGadget newgad[],struct Gadget *wingads[],struct WindowData *gadgetdata)
- {
- struct Gadget *gadget=CreateContext(gadgetlist);
- if (gadget)
- {
- wingads[INID_Wert]=gadget=CreateGadget(INTEGER_KIND,gadget,&newgad[INID_Wert],GA_Disabled,gadgetdata->gd_Disabled_IN_Wert,GA_TabCycle,TRUE,GTIN_MaxChars,12,GTIN_Number,gadgetdata->gd_Number_IN_Wert,STRINGA_ExitHelp,TRUE,STRINGA_Justification,GACT_STRINGRIGHT,STRINGA_ReplaceMode,FALSE,TAG_END);
- wingads[CYID_Bereich]=gadget=CreateGadget(CYCLE_KIND,gadget,&newgad[CYID_Bereich],GA_Disabled,gadgetdata->gd_Disabled_CY_Bereich,GTCY_Labels,(ULONG)gadgetdata->gd_Labels_CY_Bereich,GTCY_Active,gadgetdata->gd_Active_CY_Bereich,TAG_END);
- wingads[CYID_Toleranz]=gadget=CreateGadget(CYCLE_KIND,gadget,&newgad[CYID_Toleranz],GA_Disabled,gadgetdata->gd_Disabled_CY_Toleranz,GTCY_Labels,(ULONG)gadgetdata->gd_Labels_CY_Toleranz,GTCY_Active,gadgetdata->gd_Active_CY_Toleranz,TAG_END);
- wingads[BTID_schwarz_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_schwarz_w],GA_Disabled,gadgetdata->gd_Disabled_BT_schwarz_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_braun_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_braun_w],GA_Disabled,gadgetdata->gd_Disabled_BT_braun_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_rot_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_rot_w],GA_Disabled,gadgetdata->gd_Disabled_BT_rot_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_orange_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_orange_w],GA_Disabled,gadgetdata->gd_Disabled_BT_orange_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_gelb_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_gelb_w],GA_Disabled,gadgetdata->gd_Disabled_BT_gelb_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_gruen_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_gruen_w],GA_Disabled,gadgetdata->gd_Disabled_BT_gruen_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_blau_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_blau_w],GA_Disabled,gadgetdata->gd_Disabled_BT_blau_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_violett_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_violett_w],GA_Disabled,gadgetdata->gd_Disabled_BT_violett_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_grau_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_grau_w],GA_Disabled,gadgetdata->gd_Disabled_BT_grau_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_weiss_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_weiss_w],GA_Disabled,gadgetdata->gd_Disabled_BT_weiss_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_silber_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_silber_w],GA_Disabled,gadgetdata->gd_Disabled_BT_silber_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_gold_w]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_gold_w],GA_Disabled,gadgetdata->gd_Disabled_BT_gold_w,GT_Underscore,'_',TAG_END);
- wingads[BTID_silber_t]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_silber_t],GA_Disabled,gadgetdata->gd_Disabled_BT_silber_t,GT_Underscore,'_',TAG_END);
- wingads[BTID_gold_t]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_gold_t],GA_Disabled,gadgetdata->gd_Disabled_BT_gold_t,GT_Underscore,'_',TAG_END);
- wingads[BTID_braun_t]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_braun_t],GA_Disabled,gadgetdata->gd_Disabled_BT_braun_t,GT_Underscore,'_',TAG_END);
- wingads[BTID_rot_t]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_rot_t],GA_Disabled,gadgetdata->gd_Disabled_BT_rot_t,GT_Underscore,'_',TAG_END);
- wingads[BTID_gruen_t]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_gruen_t],GA_Disabled,gadgetdata->gd_Disabled_BT_gruen_t,GT_Underscore,'_',TAG_END);
- wingads[BTID_blau_t]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_blau_t],GA_Disabled,gadgetdata->gd_Disabled_BT_blau_t,GT_Underscore,'_',TAG_END);
- wingads[BTID_violett_t]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_violett_t],GA_Disabled,gadgetdata->gd_Disabled_BT_violett_t,GT_Underscore,'_',TAG_END);
- wingads[BTID_neu]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_neu],GA_Disabled,gadgetdata->gd_Disabled_BT_neu,GT_Underscore,'_',TAG_END);
- wingads[BTID_Quit]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_Quit],GA_Disabled,gadgetdata->gd_Disabled_BT_Quit,GT_Underscore,'_',TAG_END);
- wingads[TXID_wert]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_wert],GA_Disabled,gadgetdata->gd_Disabled_TX_wert,GTTX_Border,TRUE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_wert,TAG_END);
- wingads[TXID_Toleranz]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_Toleranz],GA_Disabled,gadgetdata->gd_Disabled_TX_Toleranz,GTTX_Border,TRUE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_Toleranz,TAG_END);
- wingads[TXID_schwarz_w]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_schwarz_w],GA_Disabled,gadgetdata->gd_Disabled_TX_schwarz_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_schwarz_w,TAG_END);
- wingads[TXID_braun_w]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_braun_w],GA_Disabled,gadgetdata->gd_Disabled_TX_braun_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_braun_w,TAG_END);
- wingads[TXID_rot_w]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_rot_w],GA_Disabled,gadgetdata->gd_Disabled_TX_rot_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_rot_w,TAG_END);
- wingads[TXID_orange_w]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_orange_w],GA_Disabled,gadgetdata->gd_Disabled_TX_orange_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_orange_w,TAG_END);
- wingads[TXID_gelb_w]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_gelb_w],GA_Disabled,gadgetdata->gd_Disabled_TX_gelb_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_gelb_w,TAG_END);
- wingads[TXID_gruen_W]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_gruen_W],GA_Disabled,gadgetdata->gd_Disabled_TX_gruen_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_gruen_w,TAG_END);
- wingads[TXID_blau_w]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_blau_w],GA_Disabled,gadgetdata->gd_Disabled_TX_blau_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_blau_w,TAG_END);
- wingads[TXID_violett_w]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_violett_w],GA_Disabled,gadgetdata->gd_Disabled_TX_violett_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_violett_w,TAG_END);
- wingads[TXID_grau_w]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_grau_w],GA_Disabled,gadgetdata->gd_Disabled_TX_grau_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_grau_w,TAG_END);
- wingads[TXID_weiss_w]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_weiss_w],GA_Disabled,gadgetdata->gd_Disabled_TX_weiss_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_weiss_w,TAG_END);
- wingads[TXID_silber_w]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_silber_w],GA_Disabled,gadgetdata->gd_Disabled_TX_silber_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_silber_w,TAG_END);
- wingads[TXID_gold_w]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_gold_w],GA_Disabled,gadgetdata->gd_Disabled_TX_gold_w,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_gold_w,TAG_END);
- wingads[TXID_silber_t]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_silber_t],GA_Disabled,gadgetdata->gd_Disabled_TX_silber_t,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_silber_t,TAG_END);
- wingads[TXID_gold_t]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_gold_t],GA_Disabled,gadgetdata->gd_Disabled_TX_gold_t,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_gold_t,TAG_END);
- wingads[TXID_braun_t]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_braun_t],GA_Disabled,gadgetdata->gd_Disabled_TX_braun_t,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_braun_t,TAG_END);
- wingads[TXID_rot_t]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_rot_t],GA_Disabled,gadgetdata->gd_Disabled_TX_rot_t,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_rot_t,TAG_END);
- wingads[TXID_gruen_t]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_gruen_t],GA_Disabled,gadgetdata->gd_Disabled_TX_gruen_t,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_gruen_t,TAG_END);
- wingads[TXID_blau_t]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_blau_t],GA_Disabled,gadgetdata->gd_Disabled_TX_blau_t,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_blau_t,TAG_END);
- wingads[TXID_violett_t]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_violett_t],GA_Disabled,gadgetdata->gd_Disabled_TX_violett_t,GTTX_Border,FALSE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX_violett_t,TAG_END);
- wingads[TXID_1Ring]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_1Ring],GA_Disabled,gadgetdata->gd_Disabled_TX1Ring,GTTX_Border,TRUE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX1Ring,TAG_END);
- wingads[TXID_2Ring]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_2Ring],GA_Disabled,gadgetdata->gd_Disabled_TX2Ring,GTTX_Border,TRUE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX2Ring,TAG_END);
- wingads[TXID_3Ring]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_3Ring],GA_Disabled,gadgetdata->gd_Disabled_TX3Ring,GTTX_Border,TRUE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX3Ring,TAG_END);
- wingads[TXID_4Ring]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[TXID_4Ring],GA_Disabled,gadgetdata->gd_Disabled_TX4Ring,GTTX_Border,TRUE,GTTX_CopyText,TRUE,GTTX_Text,(ULONG)gadgetdata->gd_Text_TX4Ring,TAG_END);
- return gadget;
- }
- else return NULL;
- }
- ///
- /*************************************************************************/
- /* */
- /* Routines to create BOOPSI gadgets */
- /* */
- /*************************************************************************/
- ///Window
- ///
- /*************************************************************************/
- /* */
- /* Routines to handle windows */
- /* */
- /*************************************************************************/
- ///Window
- void HandleWindow(struct Screen *customscreen,LONG left,LONG top,APTR userdata)
- {
- APTR visualinfo = NULL;
- struct Gadget *gadgetlist = NULL;
- char *title = "Widerstand 1.0 © A.Faust 2000";
- struct Window *win = NULL;
- struct Gadget *wingads[99];
- struct TextAttr textattr = { NULL,8,FS_NORMAL,FPF_DISKFONT };
- struct Menu *menustrip = NULL;
- int ringnr = 0;
- ULONG height=29,width=42,maxheight=1024,maxwidth=1280;
-
- textattr.ta_Name = ((struct GfxBase *)GfxBase)->DefaultFont->tf_Message.mn_Node.ln_Name;
- textattr.ta_YSize = ((struct GfxBase *)GfxBase)->DefaultFont->tf_YSize;
- visualinfo = GetVisualInfo(customscreen,TAG_DONE);
-
- if (visualinfo)
- {
- char *LA_CY_Bereich[] = { "Milli-Ohm","Ohm","Kilo-Ohm","Mega-Ohm",NULL };
- char *LA_CY_Toleranz[] = { "20%","10%","5%","2%","1%","0,5%","0,25%","0,1%",NULL };
- struct BevelFrame bevels[] = {
- XPOS(31),YPOS(1),XSIZE(10),YSIZE(23),"Code",3,
- };
- struct NewMenu menu[] = {
- NM_TITLE, "Project",0,0,0,0,
- NM_ITEM ,"New","N",0,0,0,
- NM_ITEM ,"About","A",0,0,0,
- NM_ITEM ,"Quit","Q",0,0,0,
- NULL,
- };
- struct NewGadget newgad[] = {
- XPOS(14),YPOS(19),XSIZE(14),YSIZE(2),NULL,&textattr, INID_Wert,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(14),YPOS(21),XSIZE(14),YSIZE(2),NULL,&textattr, CYID_Bereich,PLACETEXT_ABOVE,visualinfo,NULL,
- XPOS(14),YPOS(23),XSIZE(14),YSIZE(2),NULL,&textattr, CYID_Toleranz,PLACETEXT_ABOVE,visualinfo,NULL,
- XPOS(1),YPOS(4),XSIZE(2),YSIZE(2),"",&textattr, BTID_schwarz_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(6),XSIZE(2),YSIZE(2),"",&textattr, BTID_braun_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(8),XSIZE(2),YSIZE(2),"",&textattr, BTID_rot_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(10),XSIZE(2),YSIZE(2),"",&textattr, BTID_orange_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(12),XSIZE(2),YSIZE(2),"",&textattr, BTID_gelb_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(14),XSIZE(2),YSIZE(2),"",&textattr, BTID_gruen_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(16),XSIZE(2),YSIZE(2),"",&textattr, BTID_blau_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(18),XSIZE(2),YSIZE(2),"",&textattr, BTID_violett_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(20),XSIZE(2),YSIZE(2),"",&textattr, BTID_grau_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(22),XSIZE(2),YSIZE(2),"",&textattr, BTID_weiss_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(24),XSIZE(2),YSIZE(2),"",&textattr, BTID_silber_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(26),XSIZE(2),YSIZE(2),"",&textattr, BTID_gold_w,PLACETEXT_IN,visualinfo,NULL,
- XPOS(14),YPOS(4),XSIZE(2),YSIZE(2),"",&textattr, BTID_silber_t,PLACETEXT_IN,visualinfo,NULL,
- XPOS(14),YPOS(6),XSIZE(2),YSIZE(2),"",&textattr, BTID_gold_t,PLACETEXT_IN,visualinfo,NULL,
- XPOS(14),YPOS(8),XSIZE(2),YSIZE(2),"",&textattr, BTID_braun_t,PLACETEXT_IN,visualinfo,NULL,
- XPOS(14),YPOS(10),XSIZE(2),YSIZE(2),"",&textattr, BTID_rot_t,PLACETEXT_IN,visualinfo,NULL,
- XPOS(14),YPOS(12),XSIZE(2),YSIZE(2),"",&textattr, BTID_gruen_t,PLACETEXT_IN,visualinfo,NULL,
- XPOS(14),YPOS(14),XSIZE(2),YSIZE(2),"",&textattr, BTID_blau_t,PLACETEXT_IN,visualinfo,NULL,
- XPOS(14),YPOS(16),XSIZE(2),YSIZE(2),"",&textattr, BTID_violett_t,PLACETEXT_IN,visualinfo,NULL,
- XPOS(17),YPOS(26),XSIZE(8),YSIZE(2),"_new",&textattr, BTID_neu,PLACETEXT_IN,visualinfo,NULL,
- XPOS(32),YPOS(26),XSIZE(8),YSIZE(2),"_Quit",&textattr, BTID_Quit,PLACETEXT_IN,visualinfo,NULL,
- XPOS(1),YPOS(1),XSIZE(6),YSIZE(2),NULL,&textattr, TXID_wert,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(14),YPOS(1),XSIZE(10),YSIZE(2),NULL,&textattr, TXID_Toleranz,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(4),XSIZE(7),YSIZE(2),NULL,&textattr, TXID_schwarz_w,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(6),XSIZE(5),YSIZE(2),NULL,&textattr, TXID_braun_w,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(8),XSIZE(3),YSIZE(2),NULL,&textattr, TXID_rot_w,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(10),XSIZE(6),YSIZE(2),NULL,&textattr, TXID_orange_w,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(12),XSIZE(4),YSIZE(2),NULL,&textattr, TXID_gelb_w,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(14),XSIZE(5),YSIZE(2),NULL,&textattr, TXID_gruen_W,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(16),XSIZE(4),YSIZE(2),NULL,&textattr, TXID_blau_w,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(18),XSIZE(7),YSIZE(2),NULL,&textattr, TXID_violett_w,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(20),XSIZE(4),YSIZE(2),NULL,&textattr, TXID_grau_w,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(22),XSIZE(5),YSIZE(2),NULL,&textattr, TXID_weiss_w,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(24),XSIZE(6),YSIZE(2),NULL,&textattr, TXID_silber_w,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(4),YPOS(26),XSIZE(5),YSIZE(2),NULL,&textattr, TXID_gold_w,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(17),YPOS(4),XSIZE(6),YSIZE(2),NULL,&textattr, TXID_silber_t,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(17),YPOS(6),XSIZE(4),YSIZE(2),NULL,&textattr, TXID_gold_t,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(17),YPOS(8),XSIZE(5),YSIZE(2),NULL,&textattr, TXID_braun_t,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(17),YPOS(10),XSIZE(3),YSIZE(2),NULL,&textattr, TXID_rot_t,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(17),YPOS(12),XSIZE(4),YSIZE(2),NULL,&textattr, TXID_gruen_t,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(17),YPOS(14),XSIZE(4),YSIZE(2),NULL,&textattr, TXID_blau_t,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(17),YPOS(16),XSIZE(7),YSIZE(2),NULL,&textattr, TXID_violett_t,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(32),YPOS(3),XSIZE(8),YSIZE(2),NULL,&textattr, TXID_1Ring,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(32),YPOS(6),XSIZE(8),YSIZE(2),NULL,&textattr, TXID_2Ring,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(32),YPOS(9),XSIZE(8),YSIZE(2),NULL,&textattr, TXID_3Ring,PLACETEXT_LEFT,visualinfo,NULL,
- XPOS(32),YPOS(15),XSIZE(8),YSIZE(2),NULL,&textattr, TXID_4Ring,PLACETEXT_LEFT,visualinfo,NULL,
- };
- struct WindowData gadgetdata = {
- /* belongs to an integer gadget */
- FALSE,
- 0,
- /* belongs to a cycle gadget */
- FALSE,
- 1,
- (char * *)&LA_CY_Bereich[0],
- /* belongs to a cycle gadget */
- FALSE,
- 0,
- (char * *)&LA_CY_Toleranz[0],
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a button */
- FALSE,
- /* belongs to a text gadget */
- TRUE,
- "value",
- /* belongs to a text gadget */
- TRUE,
- "tolerance",
- /* belongs to a text gadget */
- TRUE,
- "black",
- /* belongs to a text gadget */
- TRUE,
- "brown",
- /* belongs to a text gadget */
- TRUE,
- "red",
- /* belongs to a text gadget */
- TRUE,
- "orange",
- /* belongs to a text gadget */
- TRUE,
- "yellow",
- /* belongs to a text gadget */
- TRUE,
- "green",
- /* belongs to a text gadget */
- TRUE,
- "blue",
- /* belongs to a text gadget */
- TRUE,
- "violet",
- /* belongs to a text gadget */
- TRUE,
- "grey",
- /* belongs to a text gadget */
- TRUE,
- "white",
- /* belongs to a text gadget */
- TRUE,
- "silver",
- /* belongs to a text gadget */
- TRUE,
- "gold",
- /* belongs to a text gadget */
- TRUE,
- "silver",
- /* belongs to a text gadget */
- TRUE,
- "gold",
- /* belongs to a text gadget */
- TRUE,
- "brown",
- /* belongs to a text gadget */
- TRUE,
- "red",
- /* belongs to a text gadget */
- TRUE,
- "green",
- /* belongs to a text gadget */
- TRUE,
- "blue",
- /* belongs to a text gadget */
- TRUE,
- "violet",
- /* belongs to a text gadget */
- TRUE,
- "1.ring",
- /* belongs to a text gadget */
- TRUE,
- "2.ring",
- /* belongs to a text gadget */
- TRUE,
- "3.ring",
- /* belongs to a text gadget */
- TRUE,
- "no ring",
- };
- height= YSIZE(height);
- width = XSIZE(width) ;
- if (left == -1) left = (customscreen->Width -width )/2;
- if (top == -1) top = (customscreen->Height-height)/2;
-
- if (CreateGadgetsWindow(&gadgetlist,newgad,wingads,&gadgetdata) != NULL)
- {
- if (height>customscreen->Height || width>customscreen->Width) GUIC_ErrorReport(NULL,ERROR_SCREEN_TOO_SMALL);
- win=OpenWindowTags(NULL,WA_Activate, TRUE,
- WA_CloseGadget, TRUE,
- WA_DepthGadget, TRUE,
- WA_SizeGadget, FALSE,
- WA_DragBar, TRUE,
- WA_Gadgets, (ULONG)gadgetlist,
- WA_InnerHeight, height,
- WA_InnerWidth, width,
- WA_IDCMP, IDCMP_CLOSEWINDOW|IDCMP_NEWSIZE|IDCMP_VANILLAKEY|IDCMP_REFRESHWINDOW|IDCMP_GADGETUP|IDCMP_MENUPICK|BUTTONIDCMP|INTEGERIDCMP|CYCLEIDCMP,
- WA_Left, left,
- WA_Top, top,
- WA_MaxHeight, maxheight,
- WA_MinHeight, height,
- WA_MaxWidth, maxwidth,
- WA_MinWidth, width,
- WA_SizeBRight, FALSE,
- WA_SizeBBottom, FALSE,
- WA_SmartRefresh, TRUE,
- WA_CustomScreen, (ULONG)customscreen,
- WA_Title, (ULONG)title,
- WA_NewLookMenus, TRUE,
- TAG_END);
- if (win)
- {
- menustrip=CreateMenus(menu,GTMN_NewLookMenus,TRUE,TAG_END);
- if (menustrip)
- {
- if (LayoutMenus(menustrip,visualinfo,GTMN_NewLookMenus,TRUE,TAG_END))
- {
- if (SetMenuStrip(win,menustrip))
- {
- struct IntuiMessage *imessage = NULL;
- struct Gadget *idcmpgad = NULL;
- struct Gadget *firstboopsi= 0;
- ULONG idcmpclass = 0;
- UWORD messagecode = 0;
- BOOL running = TRUE;
- ULONG signal = 0;
- ULONG longpointer1 = 0;
- ULONG longpointer2 = 0;
- SetFont(win->RPort,((struct GfxBase *)GfxBase)->DefaultFont);
- CreateBevelFrames(win,visualinfo,1,bevels);
- GT_RefreshWindow(win,NULL);
- UserSetupWindow(win,wingads,ringnr);
- do
- {
- if (running) signal=Wait(SIGBREAKF_CTRL_C | 1L << win->UserPort->mp_SigBit);
- if (signal & SIGBREAKF_CTRL_C) running=FALSE;
- while (running && (imessage=GT_GetIMsg(win->UserPort)))
- {
- idcmpgad=(struct Gadget *)imessage->IAddress;
- idcmpclass=imessage->Class;
- messagecode =imessage->Code;
-
- GT_ReplyIMsg(imessage);
-
- switch(idcmpclass)
- {
- case IDCMP_REFRESHWINDOW:
- GT_BeginRefresh(win);
- GT_EndRefresh(win,TRUE);
- break;
- case IDCMP_CLOSEWINDOW:
- running=FALSE;
- break;
- case IDCMP_GADGETUP:
- case MXIDCMP:
- ringnr++;
- ringnr = HandleGadgetsWindow(win,wingads,idcmpgad->GadgetID,messagecode,&gadgetdata,ringnr);
- break;
- case IDCMP_MENUPICK:
- switch(MENUNUM(messagecode))
- {
- case 0:
- switch (ITEMNUM(messagecode))
- {
- case 0:
- ringnr = 0;
- GT_SetGadgetAttrs(wingads[TXID_1Ring],win,NULL,GTTX_Text,(ULONG)("1.ring"),TAG_DONE);
- GT_SetGadgetAttrs(wingads[TXID_2Ring],win,NULL,GTTX_Text,(ULONG)("2.ring"),TAG_DONE);
- GT_SetGadgetAttrs(wingads[TXID_3Ring],win,NULL,GTTX_Text,(ULONG)("3.ring"),TAG_DONE);
- GT_SetGadgetAttrs(wingads[TXID_4Ring],win,NULL,GTTX_Text,(ULONG)("no ring"),TAG_DONE);
- GT_SetGadgetAttrs(wingads[CYID_Bereich],win,NULL,GTCY_Active,(UWORD)1,TAG_DONE);
- GT_SetGadgetAttrs(wingads[CYID_Toleranz],win,NULL,GTCY_Active,(UWORD)0,TAG_DONE);
- GT_SetGadgetAttrs(wingads[INID_Wert],win,NULL,GTIN_Number,(UWORD)0,TAG_DONE);
- ringvalue[0] = 0;
- ringvalue[1] = 0;
- ringvalue[2] = 0;
- faktor=1;
- GT_RefreshWindow(win,NULL);
- break;
- case 1:
- About(win,wingads,userdata);
- break;
- case 2:
- Signal(FindTask(NULL), SIGBREAKF_CTRL_C);
- break;
- }
- break;
- }
- break;
- case IDCMP_VANILLAKEY:
- switch(messagecode)
- {
- case 'n':
- GT_GetGadgetAttrs(wingads[BTID_neu],win,NULL,GA_Disabled,(ULONG)&longpointer1,TAG_END);
- if (longpointer1 == 0)
- {
- ShowGadget(win,wingads[BTID_neu],GADGET_DOWN);
- Delay(5);
- ShowGadget(win,wingads[BTID_neu],GADGET_UP );
- ringnr = HandleGadgetsWindow(win,wingads,BTID_neu,messagecode,&gadgetdata,ringnr);
- }
- ringnr = 0;
- GT_SetGadgetAttrs(wingads[TXID_1Ring],win,NULL,GTTX_Text,(ULONG)("1.ring"),TAG_DONE);
- GT_SetGadgetAttrs(wingads[TXID_2Ring],win,NULL,GTTX_Text,(ULONG)("2.ring"),TAG_DONE);
- GT_SetGadgetAttrs(wingads[TXID_3Ring],win,NULL,GTTX_Text,(ULONG)("3.ring"),TAG_DONE);
- GT_SetGadgetAttrs(wingads[TXID_4Ring],win,NULL,GTTX_Text,(ULONG)("no ring"),TAG_DONE);
- GT_SetGadgetAttrs(wingads[CYID_Bereich],win,NULL,GTCY_Active,(UWORD)1,TAG_DONE);
- GT_SetGadgetAttrs(wingads[CYID_Toleranz],win,NULL,GTCY_Active,(UWORD)0,TAG_DONE);
- GT_SetGadgetAttrs(wingads[INID_Wert],win,NULL,GTIN_Number,(UWORD)0,TAG_DONE);
- ringvalue[0] = 0;
- ringvalue[1] = 0;
- ringvalue[2] = 0;
- faktor=1;
- GT_RefreshWindow(win,NULL);
- break;
- case 'q':
- GT_GetGadgetAttrs(wingads[BTID_Quit],win,NULL,GA_Disabled,(ULONG)&longpointer1,TAG_END);
- if (longpointer1 == 0)
- {
- ShowGadget(win,wingads[BTID_Quit],GADGET_DOWN);
- Delay(5);
- ShowGadget(win,wingads[BTID_Quit],GADGET_UP );
- ringnr = HandleGadgetsWindow(win,wingads,BTID_Quit,messagecode,&gadgetdata,ringnr);
- Signal(FindTask(NULL), SIGBREAKF_CTRL_C);
- }
- break;
- case 27:
- running=FALSE;
- break;
- }
- break;
- }
- /* end-switch */
- }
- /* end-while */
- }
- while (running);
- ClearMenuStrip(win);
- }
- else GUIC_ErrorReport(win,ERROR_NO_WINDOW_MENU);
- }
- else GUIC_ErrorReport(win,ERROR_NO_WINDOW_MENU);
- FreeMenus(menustrip);
- }
- else GUIC_ErrorReport(win,ERROR_NO_WINDOW_MENU);
- if (win) CloseWindow(win);
- }
- else GUIC_ErrorReport(win,ERROR_NO_WINDOW_OPENED);
- if (gadgetlist) FreeGadgets(gadgetlist);
- }
- else GUIC_ErrorReport(NULL,ERROR_NO_GADGETS_CREATED);
- if (visualinfo) FreeVisualInfo(visualinfo);
- }
- else GUIC_ErrorReport(NULL,ERROR_NO_VISUALINFO);
- }
- ///
-